package com.moon.interview.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.moon.interview.model.dto.questionBank.QuestionBankAddRequest;
import com.moon.interview.model.dto.questionBank.QuestionBankQueryRequest;
import com.moon.interview.model.dto.questionBank.QuestionBankUpdateRequest;
import com.moon.interview.model.entity.QuestionBank;
import com.moon.interview.model.vo.QuestionBankVo;
import com.moon.interview.model.vo.QuestionVo;
import jakarta.servlet.http.HttpServletRequest;

public interface IQuestionBankService extends IService<QuestionBank> {
    /** 分页查询- entity */
    Page<QuestionBank> page(QuestionBankQueryRequest request);

    /** 分页查询 - vo */
    Page<QuestionBankVo> pageQuestionBankVo(QuestionBankQueryRequest request);

    /** 分页查询 - 当前用户 */
    Page<QuestionBankVo> pageQuestionBankVoByUserId(QuestionBankQueryRequest queryRequest);

    /** 新增 */
    boolean addQuestionBank(QuestionBankAddRequest addRequest);

    /** 更新 */
    boolean updateQuestionBank(QuestionBankUpdateRequest request);

    /** 删除 */
    boolean removeQuestionBank(Long id);

    /** 根据题库ID获取题目列表 */
    QuestionBankVo getBankDetailWithSimpleQuestionById(Long id);
}
